#ifndef __JDI_MIP_DISPLAY__
#define __JDI_MIP_DISPLAY__

#include <stdint.h>

#define DISPLAY_WIDTH 144 // Display width in pixel
#define DISPLAY_HEIGHT 72 // Display height in pixel

#define MONO_COLOR_DISPLAY // 单色显示
#define DIFF_LINE_UPDATE   // 差异行更新

#define BUFF_WIDTH (DISPLAY_WIDTH)
#ifdef MONO_COLOR_DISPLAY
#define BUFF_HEIGHT (DISPLAY_HEIGHT / 8)
#else
#define BUFF_HEIGHT (DISPLAY_HEIGHT / 2)
#endif

#ifdef MONO_COLOR_DISPLAY
#define COLOR_BLACK 0x00
#define COLOR_BLUE 0x80
#define COLOR_GREEN 0x80
#define COLOR_CYAN 0x80
#define COLOR_RED 0x80
#define COLOR_MAGENTA 0x80
#define COLOR_YELLOW 0x80
#define COLOR_WHITE 0x80
#define COLOR_NONE 0x00
#else
#define COLOR_BLACK 0x00
#define COLOR_BLUE 0x02
#define COLOR_GREEN 0x04
#define COLOR_CYAN 0x06
#define COLOR_RED 0x08
#define COLOR_MAGENTA 0x0a
#define COLOR_YELLOW 0x0c
#define COLOR_WHITE 0x0e
#define COLOR_NONE 0xff
#endif
void displayInit(void);

void displayDeinit(void);

void displayOn(void);

void displayOff(void);

void displayRefresh(void);

void displayClearScreen(void);

void displayBlinkTest(uint8_t white);

void displayInversionSet(uint8_t enable);

void drawPoint(int16_t x, int16_t y, uint8_t color);

#endif